break;
case GDK_EXPOSE:
- if (event->any.window && gtk_widget_get_double_buffered (event_widget))
- {
- /* We handle exposes only on native windows, relying on the
- * draw() handler to propagate down to non-native windows.
- * This is ok now that we child windows always are considered
- * (semi)transparent.
- */
- if (gdk_window_has_native (event->expose.window))
- {
- gdk_window_begin_paint_region (event->any.window, event->expose.region);
- gtk_widget_send_expose (event_widget, event);
- gdk_window_end_paint (event->any.window);
- }
- }
- else
+ /* We handle exposes only on native windows, relying on the
+ * draw() handler to propagate down to non-native windows.
+ * This is ok now that we child windows always are considered
+ * (semi)transparent.
+ */
+ if (event->any.window && gdk_window_has_native (event->expose.window))
{
+ gdk_window_begin_paint_region (event->any.window, event->expose.region);
gtk_widget_send_expose (event_widget, event);
+ gdk_window_end_paint (event->any.window);
}
break;
guint shadowed : 1;
guint style_update_pending : 1;
guint app_paintable : 1;
- guint double_buffered : 1;
guint redraw_on_alloc : 1;
guint no_show_all : 1;
guint child_visible : 1;
* Whether the widget is double buffered.
*
* Since: 2.18
+ *
+ * Deprecated: 3.14
*/
g_object_class_install_property (gobject_class,
PROP_DOUBLE_BUFFERED,
P_("Double Buffered"),
P_("Whether the widget is double buffered"),
TRUE,
- GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY|G_PARAM_DEPRECATED));
/**
* GtkWidget:halign:
gtk_widget_queue_tooltip_query (widget);
break;
case PROP_DOUBLE_BUFFERED:
- gtk_widget_set_double_buffered (widget, g_value_get_boolean (value));
break;
case PROP_HALIGN:
gtk_widget_set_halign (widget, g_value_get_enum (value));
g_value_set_object (value, gtk_widget_get_window (widget));
break;
case PROP_DOUBLE_BUFFERED:
- g_value_set_boolean (value, gtk_widget_get_double_buffered (widget));
+ g_value_set_boolean (value, TRUE);
break;
case PROP_HALIGN:
g_value_set_enum (value, gtk_widget_get_halign (widget));
priv->sensitive = TRUE;
priv->composite_child = composite_child_stack != 0;
- priv->double_buffered = TRUE;
priv->redraw_on_alloc = TRUE;
priv->alloc_needed = TRUE;
{
gdk_window_get_user_data (window, (gpointer *) &widget);
- /* Only clear bg if double bufferer. This is what we used
- to do before, where begin_paint() did the clearing. */
pattern = gdk_window_get_background_pattern (window);
- if (pattern != NULL &&
- widget->priv->double_buffered)
+ if (pattern != NULL)
{
cairo_save (cr);
cairo_set_source (cr, pattern);
* @widget: a #GtkWidget
* @double_buffered: %TRUE to double-buffer a widget
*
- * Widgets are double buffered by default; you can use this function
- * to turn off the buffering. “Double buffered” simply means that
- * gdk_window_begin_paint_region() and gdk_window_end_paint() are called
- * automatically around expose events sent to the
- * widget. gdk_window_begin_paint_region() diverts all drawing to a widget's
- * window to an offscreen buffer, and gdk_window_end_paint() draws the
- * buffer to the screen. The result is that users see the window
- * update in one smooth step, and don’t see individual graphics
- * primitives being rendered.
- *
- * In very simple terms, double buffered widgets don’t flicker,
- * so you would only use this function to turn off double buffering
- * if you had special needs and really knew what you were doing.
- *
- * Note: if you turn off double-buffering, you have to handle
- * expose events, since even the clearing to the background color or
- * pixmap will not happen automatically (as it is done in
- * gdk_window_begin_paint_region()).
- *
- * Since 3.10 this function only works for widgets with native
- * windows.
+ * Widgets are always double-buffered. This function does nothing.
+ *
+ * Deprecated: 3.14
**/
void
gtk_widget_set_double_buffered (GtkWidget *widget,
gboolean double_buffered)
{
g_return_if_fail (GTK_IS_WIDGET (widget));
-
- double_buffered = (double_buffered != FALSE);
-
- if (widget->priv->double_buffered != double_buffered)
- {
- widget->priv->double_buffered = double_buffered;
-
- g_object_notify (G_OBJECT (widget), "double-buffered");
- }
}
/**
{
g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE);
- return widget->priv->double_buffered;
+ return TRUE;
}
/**